using System.Text.Json.Serialization;
using JlPay.Sdk.Models;

namespace JlPay.Sdk.Models.Trans.Common
{
    /// <summary>
    /// 获取OpenID请求
    /// </summary>
    public class GetOpenidRequest : OrgBaseRequest
    {
        /// <summary>
        /// API接口路径
        /// </summary>
        public const string API_URL = "/open/trans/getopenid";

        /// <summary>
        /// 商户号
        /// </summary>
        [JsonPropertyName("mch_id")]
        public string MchId { get; set; } = string.Empty;

        /// <summary>
        /// 交易类型
        /// </summary>
        [JsonPropertyName("pay_type")]
        public string PayType { get; set; } = string.Empty;

        /// <summary>
        /// 授权码
        /// </summary>
        [JsonPropertyName("auth_code")]
        public string AuthCode { get; set; } = string.Empty;

        /// <summary>
        /// 子商户appid
        /// </summary>
        [JsonPropertyName("sub_appid")]
        public string SubAppid { get; set; } = string.Empty;

        /// <summary>
        /// 应用标识
        /// </summary>
        [JsonPropertyName("app_up_identifier")]
        public string AppUpIdentifier { get; set; } = string.Empty;

        /// <summary>
        /// 终端设备号
        /// </summary>
        [JsonPropertyName("device_info")]
        public string DeviceInfo { get; set; } = string.Empty;

        /// <summary>
        /// 商户IP
        /// </summary>
        [JsonPropertyName("mch_create_ip")]
        public string MchCreateIp { get; set; } = string.Empty;
    }
} 